<?php
/**     
  *
  * Copyright (c) 2009, Persistent Systems Limited
  *
  * Redistribution and use, with or without modification, are permitted 
  *  provided that the following  conditions are met:
  *   - Redistributions of source code must retain the above copyright notice, 
  *     this list of conditions and the following disclaimer.
  *   - Neither the name of Persistent Systems Limited nor the names of its contributors 
  *     may be used to endorse or promote products derived from this software 
  *     without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * This file return the atom feed of all the products.It expects HTTP GET method 
  *
  */
  /**
   *
  */
	include("config/config.php");
	include("classes/connectionClass.php");
	include("includes/commonfunctions.php");
	include("Util/ValidateClaimUtil.php");

	$requiredClaims = array('ViewProduct'=>true);
	if(!ValidateClaimUtil::ValidateClaims($requiredClaims,ACS_TRUSTED_SERVICE,ACS_TRUSTED_AUDIENCE,ACS_TRUSTED_SIGNING_KEY)){


        setHeader('401','text/html'); 
		exit;

	}

	$methodAndArgs = array();
	$methodAndArgs = getMethodAndArguments($_SERVER, $_GET, $_POST); 

	  
	if($methodAndArgs['method']!= 'GET') {

		setHeader('405','text/html'); 
		exit;

	}

	$products  = array();
	$metaData = array();
	$metaData['title'] = 'Product Listing'; // Setting meta data for Atom feed

	try {
		
		$dB = new Database_Conn();
		$dB->prepareSql("select * from product");
		$products = $dB->getResults();
		setHeader('202','text/xml'); 

	}catch (Exception $e) {

		setHeader('400','text/html'); 
		exit;
            
    }//EO catch

	echo $xmlstr = toAtom($products,$metaData); // return the Atom feed 


?>